package compraventa.negocio;

import java.util.Collection;

import compraventa.dao.PublicacionDAO;
import compraventa.excepcion.DAOExcepcion;
import compraventa.modelo.Persona;
import compraventa.modelo.Publicacion;
import compraventa.util.Str;

public class GestionPublicacion {
	public Publicacion insertar(int cantidad, String descripcion, double precio, 
			String titulo, String fecha, String fechaFin, int idCategoria, int idPersona) throws DAOExcepcion
		{
			Publicacion pub = new Publicacion();
			pub.setCantidad(cantidad);
			pub.setDescripcion(descripcion);
			pub.setPrecio(precio);
			pub.setTitulo(titulo);
			pub.setEstado("P");
			pub.setFecha(fecha);
			pub.setFechaFin(fechaFin);
			pub.setIdCategoria(idCategoria);
			pub.setIdPersona(idPersona);
			PublicacionDAO dao = new PublicacionDAO();
			
			Validar(pub);
			
			dao.insertar(pub);
			return pub;
		}

	private void Validar(Publicacion pub) throws DAOExcepcion {
		Str.esVacioString("Titulo", pub.getTitulo());
		
	}

	public Publicacion obtener(int idPublicacion) throws DAOExcepcion{
		Publicacion pub;
		
		PublicacionDAO daoPub = new PublicacionDAO();
		pub = daoPub.obtener(idPublicacion);
		
		GestionCategoria gesCat = new GestionCategoria();
		pub.setCategoria(gesCat.obtener(pub.getIdCategoria()));
		
		GestionPersona gesPer = new GestionPersona();
		Persona per = gesPer.obtener(pub.getIdPersona());
		pub.setPersona(per);
		
		return pub;
	}
	
	public Collection<Publicacion> listarPorContador() throws DAOExcepcion{
	
		PublicacionDAO dao = new PublicacionDAO();
		return dao.listarPorContador();
	}
}
			